/**
 * @Date 2023-02-23 11:49:30
 * @Remark
 */

// config
import { ROUTE_MAIN_VIEW } from "project/config";
import { getMenuTreeFromRoutes } from "./logic";
import { dataState } from "state/global";

// 添加path的前缀合成完整的路由link地址
export function completeLink(path: string) {
  if (path === ROUTE_MAIN_VIEW) {
    return `/${ROUTE_MAIN_VIEW}`;
  }
  return `/${ROUTE_MAIN_VIEW}/${path}`;
}

// 从path获得code
// export function getCodeFromPath(path: string) {
//   const arr = path.split(":"); // 去掉动态参数
//   const url = arr[0];
//   const tempArr = url.split("/").filter((el) => el !== "");
//   // let menuTree = getMenuTreeFromRoutes();
//   const result = tempArr.join(":");
//   console.log("--------------getcodefromepath")
//   return "";
//   // return result;
// }
// 从path获得code
export function getCodeFromPath(path: string) {
  const arr = path.split(":"); // 去掉动态参数
  const url = arr[0];
  const tempArr = url.split("/").filter((el) => el !== "");
  // let menuTree = getMenuTreeFromRoutes();
  
  if (tempArr.length === 1 ) {
    return tempArr[0];
  }else{
    const result = tempArr.slice(1).join("/");
    const code= dataState.routeItemList.find(item => item.path === result)?.code || "notAllowed"
    // console.log('code------',code)
    return code
  }
}
// 从path获得父code
// 菜单中用到
export function getParentCodeFromPath(path: string) {
  const arr = path.split(":");

  const tempArr = arr[0].split("/").filter((el) => el !== "");
  const limit = tempArr.length >= 3 ? 2 : 0; // 路由限制,当总段数为2或以下时，不要上级，解决同时选中问题
  // const limit = tempArr.length >= 3 ? 2 : tempArr.length - 1; // 路由限制
  const resultArr = tempArr.slice(0, limit); // 第一级的去掉
  const result = resultArr.join(":");
  return result;
}
